home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / MSJV7_2B.ARJ / CLIDEMO.H < prev    next >
Text File  |  1992-03-01  |  2KB  |  63 lines

  1. /*
  2.  * clidemo.h 
  3.  *
  4.  * Created by Microsoft Corporation.
  5.  * (c) Copyright Microsoft Corp. 1990 - 1992  All Rights Reserved
  6.  */
  7.  
  8. //*** CONSTANTS ***
  9.  
  10. #define CXDEFAULT       400     //* Default object size:  400 x 300 
  11. #define CYDEFAULT       300
  12. #define COBJECTSMAX     50      //* max number of objects in our app 
  13.  
  14. //*** PROTOTYPES ***
  15.  
  16. //*** Exported window procedures 
  17.  
  18. long FAR PASCAL      FrameWndProc(HWND, unsigned, WORD, LONG);
  19.  
  20. //*** FAR 
  21.  
  22. void FAR             FixObjectBounds(LPRECT lprc);
  23.  
  24. //*** Local
  25.  
  26. static LPOLECLIENT   InitClient(HANDLE);
  27. static void          EndClient(LPOLECLIENT);
  28. static LPAPPSTREAM   InitStream(HANDLE);
  29. static void          EndStream(LPAPPSTREAM);
  30. static void          ProcessCmdLine(LPSTR);
  31. static BOOL          InitApplication(HANDLE); 
  32. static BOOL          InitInstance(HANDLE);
  33. static void          SetTitle(PSTR);
  34. static void          MyOpenFile(PSTR,LHCLIENTDOC *, LPOLECLIENT, LPAPPSTREAM);
  35. static void          NewFile(PSTR,LHCLIENTDOC *, LPAPPSTREAM); 
  36. static BOOL          SaveFile(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  37. static void          SaveasFile(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  38. static BOOL          LoadFile(PSTR, LHCLIENTDOC, LPOLECLIENT, LPAPPSTREAM); 
  39. static void          ClearAll(LHCLIENTDOC, BOOL);
  40. static void          EndInstance(void);
  41. static BOOL          SaveAsNeeded(PSTR,LHCLIENTDOC,LPAPPSTREAM);
  42. static void          UpdateMenu(HMENU);
  43. static BOOL          RegDoc(PSTR, LHCLIENTDOC *);
  44. static void          DeregDoc(LHCLIENTDOC);
  45. static BOOL          InitAsOleClient(HANDLE, HWND, PSTR, LHCLIENTDOC *, LPOLECLIENT *,  LPAPPSTREAM *);
  46. void FAR             ClearItem(APPITEMPTR);
  47. static long          QueryEndSession(PSTR, LHCLIENTDOC, LPAPPSTREAM);
  48.  
  49. //*** MACROS *** 
  50.  
  51. /*
  52.  * ANY_OBJECT_BUSY
  53.  * checks to see if any object in the document is busy. This prevents 
  54.  * a new document from being saved to file if there are objects in 
  55.  * asynchronous states.
  56.  */
  57.  
  58. #define ANY_OBJECT_BUSY  {\
  59.     if (ObjectsBusy()) \
  60.          break; \
  61. }
  62.    
  63.